import {
  of,
  mergeMap,
} from 'rxjs'

of(1, 2, 3)
  .pipe(
    // 上游 observable 生产发送的值会经过 mergeMap 操作符中的回调函数
    // 回调函数会返回一个新的可观察对象
    // mergeMap 操作符会把回调函数返回的可观察对象生产的值取出发送给下游可观察对象
    mergeMap((val) => {
      return of(val)
    })
  )
  .subscribe({
    next: val => console.log('next ', val),
    complete: () => console.log('complete'),
    error: err => console.log('error ', err)
  })
